package org.jpropelleralt.sequence;

/**
 * Allows generation of a sequence that can be
 * progressed forwards or backwards from any
 * starting point
 * @param <T>		The type of value in the sequence
 */
public interface Sequence<T> {

	/**
	 * Get the previous element from the current
	 * element
	 * @param t		The current element
	 * @return		The previous element
	 */
	public T previous(T t);

	/**
	 * Get the next element from the current
	 * element
	 * @param t		The current element
	 * @return		The next element
	 */
	public T next(T t);
	
}
